home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Commodore Disk User Volume 4 #2
/
Commodore_Disk_User_Vol.4_2_1990_-.d64
/
screen des
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-10-26
|
7KB
|
233 lines
5 rem"[141] screen designer by william a christie [158]
10 [145] a [137] 30,40
20 a[178]1:[147]"crunch/decr.mc",8,1
30 a[178]2:[147]"getchar.mc",8,1
40 [151]55,190:[151]56,47:[156]:[143] end of basic memory=$3000-64
50 v[178]53248:[151]2040,191:[151]650,128:[151]53280,6:[151]53281,0
55 [151]1022,0:[143] reset screen memory
60 [143] poke788,52:rem disable run/stop
70 base[178]4096[172]4:a[178]ba:[141] 1510:bh[178]hb:bl[178]lb
80 [129]n[178]12224[164]n[170]63:[151]n,0:[130]
90 [129]n[178]12224[164]n[170]23:[135]s:[151]n,s:[130]
100 [131] 255,0,0,129,0,0,129,0,0,129,0,0,129,0,0,129,0,0,129,0,0,255,0,0
110 [151]v[170]21,0:[153]"load"[163]12)"sclistreprint#en delistsiprint#gnpokeer"
115 [153][163]12)"tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab("
116 [153][163]10)"forby william christie"
120 [153][163]8)"for commodore disk user"
130 [153]""[163]7)"printf1 :alter background colour"
140 [153][163]7)"printf2 :alter foreground colour"
150 [153][163]7)"printf3 :alter character colour"
160 [153][163]7)"printf5 :substitute character"
170 [153][163]7)"printf7 :main menu"
180 tx$[178]"contscreen number (1-255) ?:open":x[178]7:y[178]17:[141]2000
182 sn[178]s1:sn$[178]s1$:sl[178]s2:[137]280
280 [153]"load":[151]251,10:[151]252,10:[151]253,0:[151]v[170]21,1:sp[178]35:[151]56325,sp
290 cr[178]32768:dc[178]33536:[143] crunch/decr
300 cl[178]51218:[143] clearmid4lines
310 re[178]51243:[143] returnmid4lines
320 gc[178]50704:[143] getchar
330 rc[178]51699:[143] character rom copy
340 ds[178]51755:[143] delete screen
360 ls[178]52011:[143] list screen numbers
362 rn[178]52126:[143] renumber
365 al[178]52199:[143] alter screen number
370 [151]v[170]21,1:[158] gc:[143] getchar
380 [151]781,10:[151]782,1:[151]783,0:[158]65520:[151]v[170]21,0
390 [153]"(";[201](sn$,sl);") ";"wwaitipe cwaitrunch gwaitet nwaitum lwait swait rwaiten";
391 [153]"um xwaity"
400 [153]" vwait dwaitel bwaitgn mwaitem rawaitm copwaity altwait liwaitst mcowaitl12wait"
410 [161]t$:[139]t$[178]""[167]410
420 [139] [198](t$)[178]136[167] 410
422 [139] t$[178]"r" [175][194](1022)[178]1[167]2200
424 [139] t$[178]"t" [175][194](1022)[178]1[167]2300
425 [139] t$[178]"c" [167] [151]v[170]21,1:[137] 850
430 [139] t$[179][177]"o" [167] 440
431 [137] 433
432 [161]t$:[139]t$[178]""[167]432
433 [139]t$[178]"o"[175][194](53270)[179][177]216 [167] [151]53270,216:[158] re:[137]435
434 [139]t$[178]"o"[175][194](53270)[179][177]200 [167] [151]53270,200:[158] re
435 [139] t$[178]"1" [167] [151]53282,([194](53282)[175]15)[170]1
436 [139] t$[178]"2" [167] [151]53283,([194](53283)[175]15)[170]1
437 [139] [198](t$)[179][177]13[167]432
438 [137] 370
440 [139] t$[178]"w" [167] [153]"load":[137]370
450 [139] t$[178]"n" [167] 610
460 [139] t$[178]"g" [175] [194](1022)[178]1 [167] 720
470 [139] t$[178]"p" [167] [158] rc:[137]590
480 [139] t$[178]"i" [175] [194](1022)[178]1 [167] [158]ls:[141]1700:[153]"load":[137]370
490 [139] t$[178]"s" [167] 970
500 [139] t$[178]"b" [167] 1550
510 [139] t$[178]"l" [167] 1090
520 [139] t$[178]"v" [175] [194](1022)[178]1[167] 1250
530 [139] t$[178]"m" [167] 1630
550 [139] t$[178]"d" [175] [194](1022)[178]1[167] 1750
555 [139] t$[178]"x" [167] 2400
560 [139] t$[179][177]"a" [167] 590
570 [139][194](53272)[178]21 [167] [151]53272,31:[137]590
580 [151]53272,21
590 [158] re:[143] returnmin4lines
600 [137]370
609 [143] *****set screen number**
610 y[178]13:x[178]7:tx$[178]"enter screen number :":[141]2000:[151]v[170]21,1
620 sn[178]s1:sn$[178]s1$:sl[178]s2:[158]re:[137]370
699 [143] ********get screen******
720 tx$[178]"which screen number ?":x[178]7:y[178]13:[141]2000
800 a[178]s1:[141]1510:[151]820,lb:[151]821,hb:[158]re
810 [158] dc:[139]([194](2)[175]1)[178]0[167] 370
820 [151]v[170]21,0:[151]781,13:[151]782,1:[151]783,0:[158]65520
830 [153]" screen not found! "
840 [141]1700:[151]v[170]21,1:[158]re:[137]370
849 [143] **********crunch********
850 [139] sn[178]255 [167] [153]" next screen number>255 -alter number":[137]610
855 [158] re:[143] returnmin4lines
860 a[178]sn:[141]1500:[151]820,lb:[151]821,hb
880 [151]v[170]23,1:[151]v[170]29,1
890 [158]cr:[139]([194](2)[175]128)[178]0[167]900
895 [151]v[170]23,0:[151]v[170]29,0:[158]cl:[153][163]9)"out of crunch memory"
896 [151]v[170]21,0:[137]1630
900 sn[178]sn[170]1:sn$[178][196](sn):sl[178][195](sn$)[171]1:[151]v[170]23,0:[151]v[170]29,0:[137]370
950 :
960 [143] *** save ****
970 el[178][194](base)[170]1
980 eh[178][194](base[170]1)
990 [139] el[178]256[167]el[178]0:eh[178]eh[170]1
1000 [141]1170:[139] f$[178]""[167]280
1010 [158]57812f$,d,1:[151]193,bl:[151]194,bh:[143]$4000=base
1020 [151]174,el:[151]175,eh:[143] end
1030 [158]62957:[143] save
1040 [133]"end (y/n)";e$
1050 [139] e$[178]"n"[167]280
1060 [128]
1070 :
1080 [143] **** load *****
1090 [141] 1170:[139] f$[178]""[167]280
1091 [139] f$[178]"$"[167]1900
1100 [151]147,0:[158]57812f$,d,1:[158]62631
1110 [139] t$[178]"t"[167] 1140
1120 [159]15,8,15:[132]15,z1,z$,z2,z3:[160]15
1130 [153]"cmd"z1;z$;z2;z3:[141]1700
1134 [139] [194](1022)[178]1 [167]280
1135 [153]"are these screens (y/n)"
1136 [161]a$:[139]a$[179][177]"y"[175] a$[179][177]"n"[167]1136
1137 [139] a$[178]"y"[167] [151] 1022,1
1140 [137]280
1150 :
1160 [143] ***get load/save parameters***
1170 [153]"loaddwaitisk or twaitape :";
1180 [161]t$:[139]t$[178]""[167]1180
1185 [139] [198](t$)[178]13[167][142]
1190 d[178]1:[139] t$[178]"d"[167] d[178]8:[137]1210
1200 [139] t$[179][177]"t"[167] 1180
1210 [153]t$:[133]"enter filename :cmdcmd";f$
1220 [142]
1230 :
1240 [143] **view all/selected screens**
1250 [151]53280,9:[151]53281,9
1270 [153]"load"[163]6)"view all/selected screens"
1280 [153][163]6)"listusrusrusrusrusrusrusrusrusrusrusrusrusrusrusrusrusrusrusrusrusrusrusrusrusrprint"
1290 tx$[178]"enter start screensys :":x[178]8:y[178]10:[141]2000:s[178]s1
1300 tx$[178]"enter end screensys :":x[178]8:y[178]11:[141]2000:e[178]s1:[153]
1320 [139] s[177]e[167] 1290
1330 [153][163]4);:[153]"press 'return' for next screen"
1340 [153][163]10);:[153]"press 'e' to exit"
1350 [153][163]6)"press 'c' for first screen"
1360 [153][163]10)"press 'x' to corect"
1370 [161]k$:[139]k$[178]""[167]1370
1380 [139] k$[178]"c"[167]1410
1390 [139] k$[178]"x"[167]1270
1400 [137] 1370
1410 a[178]s:as[178]sn:[153]"load"
1420 [141] 1510:[151]820,lb:[151]821,hb
1430 [158] dc:[139] a[178]e[167]sn[178]as:[137]370
1440 [139] ([194](2)[175]1)[178]1[167]a[178]a[170]1:[137]1420
1450 [161]t$:[139]t$[178]""[167]1450
1460 [139] t$[178]"e"[167] sn[178]as:[137]370
1470 [139] t$[178]"c"[167] 1450
1480 a[178]a[170]1:[137] 1420
1490 :
1500 [143] ****convert to 2 byte val****
1510 hb[178][181](a[173]256):lb[178]a[171](hb[172]256):[142]
1520 :
1530 [143] **initialise screen pointer***
1540 [143] *****to start of memory*******
1550 [153][163]9)"onare you sure (y/n)wait"
1560 [161]y$:[139]y$[178]""[167]1560
1570 [139] y$[178]"n"[167] [158] re:[137]370
1580 [139] y$[179][177]"y"[167]1560
1590 [153][163]16)"o.k."
1600 [141]1700:[158] re:[151]1022,0:[137]370
1610 :
1620 [143] ****print memory used****
1630 [139] [194](1022)[178]0[167]l[178]ba:[137]1650
1640 l[178][194](ba)[170][194](ba[170]1)[172]256
1650 [153][163]5)"next screen at"l"($";
1660 l[178]l[173]4096:[129]j[178]1[164]4:l%[178]l:l$[178][199](48[170]l%[171](l%[177]9)[172]7)
1670 [153]l$;:l[178]16[172](l[171]l%):[130]:[153]")":[141] 1700:[158] re:[137]370
1680 :
1690 [143] *****wait for keypress****
1700 [129]t[178]1[164]500:[130]:[151]198,0
1710 [161]r$:[139]r$[178]""[167]1710
1720 [142]
1730 :
1740 [143] *****delete screen****
1750 x[178]3:y[178]13:tx$[178]"delete which screen(s) :":[141]2100
1760 a[178][197](a$):[139] a[178]13 [176] a[178]0 [167] [158]re:[137]370
1770 la[178][195](a$):[129]n[178]1[164]la:[139] [202](a$,n,1)[178]"-"[167]1790
1780 [130]:n1[178]a:n2[178]a:[137]1820
1790 n1[178][197]([202](a$,1,n[171]1))
1800 n2[178][197]([202](a$,n[170]1,[195](a$)[171]n))
1810 n[178]la:[139] n2[178]0[167]n2[178]sn[171]1:[143] "num-"
1820 [129]n[178]n1[164]n2:a[178]n:[141]1510:[151]820,lb:[151]821,hb:[158]ds:[130]:[158]re:[137]370
1828 :
1898 :
1899 [143] ****read disk directory*****
1900 [159]1,8,0,"$"
1905 [161]#1,z$,z$
1910 [161]#1,z$,z$,z$,z$
1920 [139] st [167] [160] 1:[141]1700:[137]370
1924 [161]#1,z$:[139]z$[178]""[167][153]:[137]1910
1930 [139] z$[178][199](34)[167]q[178][168] q
1950 [139] q [167] [153]z$;
1960 [137] 1924
1998 :
1999 [143] ****get numeric input*****
2000 [151]781,y:[151]782,0:[151]783,0:[158]65520:[151]v[170]21,0:[151]650,0
2010 [153]" ":tt$[178]""
2020 [151]781,y:[151]782,x:[151]783,0:[158]65520:[153]tx$;:[139]f[178]1[167][142]
2030 [161]t$:[139]t$[178]""[167]2030
2035 [139] t$[178]"_"[167] 2000
2040 [139] [198](t$)[178]13 [167] 2090
2060 [139] [198](t$)[179]48 [176] [198](t$)[177]57 [167]2030
2070 [139] [195](tt$)[178]6 [167]2000
2080 tt$[178]tt$[170]t$:[153]t$;:[137]2030
2090 s1[178][197](tt$):[139] s1[177]255 [176] s1[179]1 [167]2000
2093 s1$[178][196](s1):s2[178][195](s1$)[171]1:[151]650,128:[142]
2098 :
2099 [143] *****get string input******
2100 f[178]1:a$[178]"":[141] 2000
2110 [161]t$:[139]t$[178]""[167]2110
2115 t[178][198](t$)
2120 [139] t$[178]"_" [167] 2100
2130 [139] t[178]13 [167] f[178]0:[151]650,128:[142]
2135 [139] t[177]47 [175] t[179]58 [176] t$[178]"-" [167] 2150
2140 [137]2110
2150 a$[178]a$[170]t$:[139][195](a$)[179]12[167][153]t$;:[137]2110
2160 [137]2100
2198 :
2199 [143] *****renumber*****
2200 tx$[178]"renumber increment :":x[178]7:y[178]13:[141]2000
2210 [151]695,s1:[158]rn:[158]re:[137]370
2298 :
2299 [143] ****alter screen number***
2300 tx$[178]"target screen number :":x[178]5:y[178]12:[141]2000:a[178]s1:[141]1510
2310 [151] 820,lb:[151]821,hb
2320 tx$[178]"new screen number :":x[178]5:y[178]13:[141]2000:a[178]s1:[141]1510
2330 [151] 695,lb:[151]696,hb
2340 [158] al:[139]([194](2)[175]1)[178]0[167][158]re:[137]370
2350 [158]re:[137]820
2390 :
2391 [143] ****print crsr co-ords***
2400 a[178]1024[170][194](690)[170]40[172][194](691):[141]1510
2405 f[178]1:tx$[178]"hb=":x[178]12:y[178]12:[141]2000:[153]hb;"lb=";lb
2410 [141]1700:[158]re:f[178]0:[137]370